38 research outputs found

    Une formalisation en Coq de l'intégrale de Lebesgue des fonctions positives

    Get PDF
    Integration, just as much as differentiation, is a fundamental calculus tool that is widely used in many scientific domains. Formalizing the mathematical concept of integration and the associated results in a formal proof assistant helps in providing the highest confidence on the correctness of numerical programs involving the use of integration, directly or indirectly. By its capability to extend the (Riemann) integral to a wide class of irregular functions, and to functions defined on more general spaces than the real line, the Lebesgue integral is perfectly suited for use in mathematical fields such as probability theory, numerical mathematics, and real analysis. In this article, we present the Coq formalization of σ\sigma-algebras, measures, simple functions, and integration of nonnegative measurable functions, up to the full formal proofs of the Beppo Levi (monotone convergence) theorem and Fatou's lemma. More than a plain formalization of the known literature, we present several design choices made to balance the harmony between mathematical readability and usability of Coq theorems. These results are a first milestone toward the formalization of LpL^p~spaces such as Banach spaces.Le calcul intégral, tout comme le calcul différentiel, est un outil fondamental utilisé largement dans de nombreux domaines scientifiques. La formalisation de la notion mathématique d'intégrale et de ses propriétés dans un assistant de preuve aide à donner la plus grande confiance sur la correction de programmes numériques utilisant l'intégration, directement ou indirectement. De part sa capacité à étendre l'intégrale (de Riemann) à une large classe de fonctions irrégulières, et à des fonctions définies sur des espaces plus généraux que la droite réelle, l'intégrale de Lebesgue est considérée comme parfaitement adaptée aux domaines mathématiques tels que la théorie des probabilités, les mathématiques numériques et l'analyse réelle. Dans cet article, nous présentons la formalisation en Coq des tribus (ou σ\sigma-algèbres), des mesures, des fonctions étagées et de l'intégrale des fonctions mesurables positives, jusqu'aux preuves formelles complètes du théorème de convergence monotone de Beppo Levi et du lemme de Fatou. Plus qu'une simple formalisation de la littérature connue, nous présentons plusieurs choix de design menés pour équilibrer l'harmonie entre la lisibilité mathématique et l'ergonomie des théorèmes Coq. Ces résultats sont un premier jalon vers la formalisation des espaces~LpL^p comme espaces de Banach

    Automated Formal Analysis of Temporal Properties of Ladder Programs

    Get PDF
    International audienceProgrammable Logic Controllers are industrial digital computers used as automation controllers in manufacturing processes. The Ladder language is a programming language used to develop software for such controllers. In this work, we consider the description of the expected behaviour of a Ladder program under the form of a timing chart, describing a scenario of execution. Our aim is to prove that the given Ladder program conforms to the expected temporal behaviour given by such a timing chart. Our approach amounts to translating the Ladder code, together with the timing chart, into a program for the Why3 environment for deductive program verification. The verification proceeds with the generation of verification conditions: mathematical formulas to be checked valid using automated theorem provers. The ultimate goal is twofold. On the one hand, by obtaining a complete proof, one verifies the conformity of the Ladder code with respect to the timing chart with a high degree of confidence. On the other hand, in the case the proof is not fully completed, one obtains a counterexample, illustrating a possible execution scenario of the Ladder code which does not conform to the timing chart

    Formalizations of error analysis in numerical analysis and floating-point arithmetic

    No full text
    Cette thèse est constituée de trois contributions liées à la formalisation en Coq d'analyses d'erreurs dans les domaines de l'analyse numérique et de l'arithmétique à virgule flottante.Nous avons tout d'abord proposé un algorithme calculant la moyenne de deux nombres flottants décimaux et avons montré que cet algorithme fournissait l'arrondi correct. Nous avons formalisé l'algorithme et sa preuve de correction dans l'assistant de preuves Coq.La seconde contribution de la thèse est l'analyse et la formalisation de bornes sur les erreurs d'arrondi d'implémentations de méthodes de Runge-Kutta appliquées à des systèmes linéaires. Nous avons proposé une méthodologie générique permettant de construire une borne sur l'erreur d'arrondi accumulée au cours des itérations et qui tient compte d'éventuels dépassements de capacité. Nous avons ensuite appliquée la méthodologie à des méthodes de Runge-Kuttaclassiques, comme les méthodes d'Euler et de RK2. Nous avons proposé une formalisation de l'analyse, incluant la définition de normes matricielles, la démonstration de bornes sur les erreurs d'arrondi d'opérations matricielles etla formalisation des résultats génériques et de leur instanciation.Enfin, nous avons proposé la formalisation de résultats d'analyse fonctionnelle qui servent de fondements à la méthode des éléments finis. Cette formalisation repose sur la bibliothèque Coquelicot et inclut la théorie des espaces de Hilbert, la formalisation du théorème de Lax-Milgram et la preuve de complétude des sous-espaces de dimension finie d'espaces de Hilbert.This thesis consists of three contributions related to the Coq formalization of error analysis in numerical analysis and floating-point arithmetic.First, we have exhibited an algorithm computing the average of two decimal floating-point numbers and have proved that this algorithm computes the correct rounding. We have formalized the algorithm and its correctness proof in the Coq proof assistant.The second contribution of the thesis is the analysis and the formalization of rounding error bounds associated to the implementation of Runge-Kutta methods applied to linear systems. We have proposed a generic methodology to build a bound on the error accumulated over the iterations, taking potential underflow and overflow into account. We have then instantiated this methodology forclassic Runge-Kutta methods, e.g. the Euler and RK2 methods. We have proposed a formalization of the results, including the definition of matrix norms, theproof of rounding error bounds for matrix operations and the formalization of the generic results and their instantiations.Finally, we have proposed a formalization of functional analysis results that serve as foundations for the finite element method. This formalization is based on the Coquelicot library and includes the theory of Hilbert spaces, the formal proof of the Lax--Milgram Theorem and the proof of completeness of finite dimensional subspaces of Hilbert spaces

    Formalisation en Coq des erreurs d'arrondi de méthodes de Runge-Kutta pour les systèmes matriciels

    Get PDF
    International audienceBien que les équations différentielles ordinaires soient omniprésentes dans la modélisation de systèmes physiques ou biologiques, leur résolution exacte est parfois fastidieuse voire impossible. L'utilisation de méthodes numériques, comme les méthodes de Runge-Kutta, permet d'obtenir des solutions approchées. Nous exhibons et forma-lisons en Coq des bornes sur les erreurs d'arrondi induites par l'implémentation en arithmétique à virgule flottante de méthodes de Runge-Kutta appliquées à des systèmes linéaires matriciels en tenant compte d'éventuels dépassements de capacité inférieurs

    Définir le fini : deux formalisations d'espaces de dimension finie

    Get PDF
    National audienceLes espaces de dimension finie permettent de décrire mathématiquement certaines méthodes numériques comme la méthode des éléments finis. Leur formalisation est nécessaire pour certifier que ces méthodes sont correctes et plus précisément qu'elles sont convergentes. Dans cet article, nous présentons deux méthodes pour formaliser les espaces de dimension finie en Coq, dans un cadre de topologie générale. Les deux approches utilisent des mécanismes différents et ne présentent pas les mêmes avantages et inconvénients. La première repose sur l'extension, à l'aide de structures canoniques, de la hiérarchie algébrique de la bibliothèque Coquelicot. Elle permet aisément de montrer que les espaces R n sont de dimension finie et plus généralement que le produit cartésien d'espaces de dimension finie est de dimension finie. La seconde repose sur l'utilisation de sous-espaces en tant que prédicats sur l'espace total. Elle permet d'extraire des propriétés topologiques sur des sous-espaces de dimension finie d'un espace de dimension infinie, comme la fermeture des sous-espaces de dimension finie des espaces de Hilbert. Nous proposons par ailleurs une étude comparative de ces deux approches

    Formalization and closedness of finite dimensional subspaces

    Get PDF
    International audienceThis article presents a Coq formalization of finite dimensional subspaces of Hilbert spaces: we prove that such subspaces are closed submodules. This result is one of the basic blocks to prove the correctness of the finite element method which approaches the solution of partial differential equations. The exact solution is valued in a continuous volume (Hilbert space) while the approximation is valued in a mesh (finite dimensional subspace) which fits the shape of the volume. When applied to a submodule which is finite dimensional, Lax– Milgram Theorem and Céa Lemma ensure the finite element method is sufficiently precise. We rely on filters as basis for topological reasoning: filters provide a very general framework to express local properties and limits. However, most such mathematical literature does not rely on filters, making our Coq formalization unusual
    corecore